//package com.heng.intercepter;
//
//import com.heng.annotation.RequireLogin;
//import com.heng.exception.BusinessException;
////import com.heng.utils.JwtUtil;
//import jakarta.servlet.http.HttpServletRequest;
//import jakarta.servlet.http.HttpServletResponse;
//import org.springframework.stereotype.Component;
//import org.springframework.util.StringUtils;
//import org.springframework.web.method.HandlerMethod;
//import org.springframework.web.servlet.HandlerInterceptor;
//
//@Component
//public class JwtInterceptor implements HandlerInterceptor {
//
//    @Override
//    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
//        // 跳过非Controller方法
//        if (!(handler instanceof HandlerMethod handlerMethod)) {
//            return true;
//        }
//
//        // 跳过不需要登录的方法
//        RequireLogin requireLogin = handlerMethod.getMethodAnnotation(RequireLogin.class);
//        if (requireLogin == null) {
//            return true;
//        }
//
//        // 验证Token
//        String token = request.getHeader("Authorization");
//        if (StringUtils.isEmpty(token)) {
//            throw new BusinessException("请先登录");
//        }
//
//        // 解析Token（已在JwtUtil中处理异常）
//        JwtUtil.getUserIdFromToken(token);
//        return true;
//    }
//}
//
